package md.lanjing.com.module_wallet.api;



import com.lxh.baselibray.base.BaseResponce;

import md.lanjing.com.module_wallet.bean.ChargeDrawRecordResponce;
import md.lanjing.com.module_wallet.bean.DealCenterNacVacancyResponce;
import md.lanjing.com.module_wallet.bean.DrawCoinRequest;
import md.lanjing.com.module_wallet.bean.DrawCoinResponce;
import md.lanjing.com.module_wallet.bean.ExchangeRecordResponce;
import md.lanjing.com.module_wallet.bean.ExchangeRequest;
import md.lanjing.com.module_wallet.bean.ExchangeResponce;
import md.lanjing.com.module_wallet.bean.HashChargeRequest;
import md.lanjing.com.module_wallet.bean.QueryIncomeResponce;
import md.lanjing.com.module_wallet.bean.RealNameResponce;
import md.lanjing.com.module_wallet.bean.RecordRequest;
import md.lanjing.com.module_wallet.bean.TransferAccountRequest;
import md.lanjing.com.module_wallet.bean.TransferAccountResponce;
import md.lanjing.com.module_wallet.bean.TransferRecordResponce;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.Headers;
import retrofit2.http.POST;

public interface WalletApiService {
    @Headers({
            "Content-Type: application/json",
            "Accept: application/json",
    })


    /**
     * 转帐
     * @param request
     * @return
     */
    @POST("userAssets/transfer")
    Call<TransferAccountResponce> transferAccount(@Body TransferAccountRequest request);

    /**
     * 根据手机号查询对方帐户
     * @param phone
     * @return
     */
    @FormUrlEncoded
    @POST("user/findRealNameByPhone")
    Call<RealNameResponce> getRealName(@Field("phone") String phone);
    /**
     * 输入hash值充值
     * @param request
     * @return
     */
    @POST("userAssets/queryRechargeResult")
    Call<BaseResponce> hashCharge(@Body HashChargeRequest request);

    /**
     * 提币
     * @param request
     * @return
     */
    @POST("userAssets/put")
    Call<DrawCoinResponce> drawCoin(@Body DrawCoinRequest request);


    /**
     * 提币记录
     * @param request
     * @return
     */
    @POST("rechargePutLog/findMyPutLog")
    Call<ChargeDrawRecordResponce> drawCoinRecord(@Body RecordRequest request);

    /**
     * 充币记录
     * @param request
     * @return
     */
    @POST("rechargePutLog/findMyRechargeLog")
    Call<ChargeDrawRecordResponce> chargeCoinRecord(@Body RecordRequest request);


    /**
     * 兑换
     * @param request
     * @return
     */
    @POST("userAssets/exchangeCAWD")
    Call<ExchangeResponce> exChange(@Body ExchangeRequest request);

    /**
     * 兑换记录
     * @param request
     * @return
     */
    @POST("exchangeLog/findMyExchangeLog")
    Call<ExchangeRecordResponce> exChangeRecord(@Body RecordRequest request);

    /**
     * 转帐记录
     * @param request
     * @return
     */
    @POST("transferLog/findTransferLogByFromUserId")
    Call<TransferRecordResponce> transferRecord(@Body RecordRequest request);
    /**
     * 交易中心-获取资产
     * @param userId
     * @return
     */
    @FormUrlEncoded
    @POST("userAssets/findMyAssets")
    Call<DealCenterNacVacancyResponce> getNacVaCancy(@Field("userId") int userId);

    /**
     * 每日收益
     * @param userId
     * @return
     */
    @FormUrlEncoded
    @POST("userAssets/findReceiptToday")
    Call<QueryIncomeResponce> getPerProfit(@Field("userId") int userId);

}
